//#include <iostream>
//#include <string>
//#include <algorithm>
//#include <vector>
//#include <map>
//#include <stack>
//#include <unordered_map>
//#include <unordered_set>
//using namespace std;
//
//class MinStack {
//public:
//	
//	stack<int> x_stack;
//	stack<int> min_stack;
//
//	MinStack() {
//		min_stack.push(INT_MAX);
//	}
//
//	void push(int x) {
//		x_stack.push(x);
//		min_stack.push(min(min_stack.top(),x));
//	}
//
//	void pop() {
//		x_stack.pop();
//		min_stack.pop();
//	}
//
//	int top() {
//		return x_stack.top();
//	}
//
//	int getMin() {
//		return min_stack.top();
//	}
//};
//
//
//int main()
//{
//	MinStack* obj = new MinStack();
//	obj->push(-2);
//	obj->push(0);
//	obj->push(-1);
//	//obj->pop();
//	int param_4 = obj->getMin();
//	int param_3 = obj->top();
//	obj->pop();
//	int param_5 = obj->getMin();
//	
//
//	system("pause");
//	return 0;
//}